package com.ruoyi.teaching.service;

import java.util.List;
import com.ruoyi.teaching.domain.TeachingStudentApply;

/**
 * 学生报课Service接口
 * 
 * @author ruoyi
 * @date 2022-10-17
 */
public interface ITeachingStudentApplyService 
{
    /**
     * 查询学生报课
     * 
     * @param studentId 学生报课主键
     * @return 学生报课
     */
    public TeachingStudentApply selectTeachingStudentApplyByStudentId(Long studentId);

    /**
     * 查询学生报课
     *
     * @param applyId 学生报课主键
     * @return 学生报课
     */
    public TeachingStudentApply selectTeachingStudentApplyByApplyId(Long applyId);

    /**
     * 查询学生报课
     *
     * @param studentId 学生ID
     * @param schoolId 学校ID
     * @return 学生报课
     */
    public TeachingStudentApply selectTeachingStudentApplyByStudentIdAndSchoolId(Long studentId, Long schoolId);

    /**
     * 查询学生报课列表
     * 
     * @param teachingStudentApply 学生报课
     * @return 学生报课集合
     */
    public List<TeachingStudentApply> selectTeachingStudentApplyList(TeachingStudentApply teachingStudentApply);

    /**
     * 新增学生报课
     * 
     * @param teachingStudentApply 学生报课
     * @return 结果
     */
    public int insertTeachingStudentApply(TeachingStudentApply teachingStudentApply);

    /**
     * 修改学生报课
     * 
     * @param teachingStudentApply 学生报课
     * @return 结果
     */
    public int updateTeachingStudentApply(TeachingStudentApply teachingStudentApply);

    /**
     * 批量删除学生报课
     * 
     * @param studentIds 需要删除的学生报课主键集合
     * @return 结果
     */
    public int deleteTeachingStudentApplyByStudentIds(String studentIds);

    /**
     * 删除学生报课信息
     * 
     * @param studentId 学生报课主键
     * @return 结果
     */
    public int deleteTeachingStudentApplyByStudentId(Long studentId);

    /**
     * 根据课程ID查询学生报课
     *
     * @param courseId 学生报课主键
     * @return 学生报课
     */
    public List<TeachingStudentApply> selectTeachingStudentApplyByCourseId(Long courseId);
}
